/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.afcepf.projet2.metiers.donnees.assembleur.comptes;

import fr.afcepf.projet2.metiers.donnees.dto.comptes.TypeUtilisateurDto;
import fr.afcepf.projet2.metiers.donnees.entites.comptes.TypeUtilisateur;
import java.util.ArrayList;
import java.util.List;

/** Classe permettant l'assemblage des donnes DTO <-> ENTITES  Type d'Utilisateur
 *
 * @author Alexandre Boff
 */
public class TypeUtilisateurAssembleur {

    /** Convertis une entité d'Utilisateur en DTO correspondant
     * 
     * @param typeUtilisateur entité à convertir
     * @return DTO correspondant
     */
    public static TypeUtilisateurDto creationTypeUtilisateurDto(TypeUtilisateur typeUtilisateur) {
        TypeUtilisateurDto resultat = new TypeUtilisateurDto();
        resultat.setIdTypeUtilisateur(typeUtilisateur.getIdTypeUtilisateur());
        resultat.setTypeUtilisateur(typeUtilisateur.getTypeUtilisateur());
        return resultat;
    }

    /** Convertis une liste d'entités d'Utilisateurs en liste de DTOs correspondantes
     * 
     * @param listeTypeUtilisateur liste d'entités à convertir
     * @return liste de DTO converties
     */
    public static List<TypeUtilisateurDto> creationListeTypeUtilisateurDto(List<TypeUtilisateur> listeTypeUtilisateur) {
        List<TypeUtilisateurDto> resultat = new ArrayList<>();
        for(TypeUtilisateur entite : listeTypeUtilisateur) {
            resultat.add(creationTypeUtilisateurDto(entite));
        }
        return resultat;
    }

    /** Convertis un DTO d'utilisateur en entité correspondante
     * 
     * @param typeUtilisateur DTO à convertir
     * @return entité correspondante
     */
    public static TypeUtilisateur updateTypeUtilisateur(TypeUtilisateurDto typeUtilisateur) {
        TypeUtilisateur resultat = new TypeUtilisateur();
        resultat.setIdTypeUtilisateur(typeUtilisateur.getIdTypeUtilisateur());
        resultat.setTypeUtilisateur(typeUtilisateur.getTypeUtilisateur());
        return resultat;
    }

    /** Convertis une liste de DTOs d'Utilisateurs en liste d'entités correspondantes
     * 
     * @param listeTypeUtilisateur liste de DTO à convertir
     * @return liste d'entités correspondantes
     */
    public static List<TypeUtilisateur> updateListeTypeUtilisateur(List<TypeUtilisateurDto> listeTypeUtilisateur) {
        List<TypeUtilisateur> resultat = new ArrayList<>();
        for(TypeUtilisateurDto dto : listeTypeUtilisateur) {
            resultat.add(updateTypeUtilisateur(dto));
        }
        return resultat;
    }
}
